/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.webhomesites.locacao.contracts;

import br.com.webhomesites.locacao.model.ItensLocacaoTableModel;
import br.com.webhomesites.padrao.model.ClienteModel;
import br.com.webhomesites.padrao.model.ProdutoModel;
import java.awt.event.ActionListener;
import java.awt.event.ItemListener;
import java.awt.event.KeyListener;
import java.awt.event.MouseListener;
import java.util.List;

/**
 *
 * @author Webhome
 */
public interface ILocacaoView {
    
    //Painel de Locação*********************************************************
    public void setCodigoLocacao(int codigoLocacao);  
    public int getCodigoLocacao();
    
    public void setCodigoCliente(int codigoCliente);  
    public int getCodigoCliente();
      
    public void setNomeCliente(String nomeCliente);  
    public String getNomeCliente();
    
    public void setListaCliente(List<ClienteModel> listaCliente);
    
    public void setDataLocacao(String dataLocacao);
    public String getDataLocacao();
    
    public void setDataPrevDevolucao(String dataPrevDevolucao);
    public String getDataPrevDevolucao();
    
    public void setListaTabelaPreco(List<String> tabelaPreco);
    
    public void setTabelaPreco(String tabelaPreco);
    public String getTabelaPreco();
    
    public void setDiasLocacao(int diasLocacao);
    public int getDiasLocacao();
    //Final Painel Locação******************************************************
    
    //Painel Itens Locação******************************************************
    public void setCodigoItemLocacao(int codigoItemLocacao);
    public int getCodigoItemLocacao();
    
    public void setSerieItemLocacao(String serieItemLocacal);
    public String getSerieItemLocacao();
    
    public void setDescricaoItemLocacao(String descricaoItemLocacao);
    public String getDescricaoItemLocacao();
    
    public void setValorTotalLocacao(double valorTotalLocacao);
    public float getValorTotalLocacao();
    
    public void setValorProdutoLocacao(double valorProdutoLocacao);
    public float getValorProdutoLocacao();
    
    public void setValorItemLocacao(double valorItemLocacao);
    public float getValorItemLocacao();
    
    public void setDisponibilidadeItemLocacao(int disponibilidadeItemLocacao);
    public int getDisponibilidadeItemLocacao();
        
    public void setListaProduto(List<ProdutoModel> listaProdutos);
    
    public void setCodigoProduto(int codigoProduto);
    public int getCodigoProduto();
    //Final Painel Item Locação*************************************************
       
    public void packAndShow();  
    public void clearFields(); 
    
    //Responsavel pela locação
    public void enableTxtCodigoLocacao(boolean arg);
    public void enableTxtCodigoCliente(boolean arg);
    public void enableComboNomeCliente(boolean arg);
    public void enableTxtDataLocacao(boolean arg);
    public void enableTxtDataPrevLocacao(boolean arg);
    public void enableComboTabelaPreco(boolean arg);
    public void enableTxtDiasLocacao(boolean arg);
    
    //Responsavel pelos itens da locação   
    public void enableTxtCodigoProduto(boolean arg);  
    public void enableTxtSerieProduto(boolean arg);  
    public void enableComboDescricaoItem(boolean arg);  
    public void enableTxtDisponibilidadeItem(boolean arg);  
    public void enableTxtValorItem(boolean arg);  
      
    public void enableBtnCancelarLocacao(boolean arg);
    public void enableBtnSalvarLocacao(boolean arg);
    public void enableBtnNovaLocacao(boolean arg);
    public void enableBtnInserirItem(boolean arg);
    public void enableBtnSalvarItem(boolean arg);
    public void enableBtnCancelarItem(boolean arg);
    public void enableBtnRemoverItem(boolean arg);
    
    public int linhaSelecionadaTableItens();
        
    public void removeAllitensComboCliente();
    public void removeAllitensComboProduto();
    public void clearFieldsPainelLocacao();
    public void clearFieldsPainelIncluirProdutos();
    public void clearTableItensLocacao();
    
    public void setComboClientesFocus();
    public void setComboProdutosFocus();
    
    public void setItensLocacaoTableModel(ItensLocacaoTableModel itensLocacaoTableModel);  
    public ItensLocacaoTableModel getitensLocacaoTableModel();  
      
    public void refreshTableItensLocacao(); 
    
    public void setInserirItemLocacaoActionListener(ActionListener listener);
    public void setInserirLocacaoActionListener(ActionListener listener);
    public void setRemoverItemLocacaoActionListener(ActionListener listener);  
    public void setAlterarActionListener(ActionListener listener);     
    public void setCancelarLocacaoActionListener(ActionListener listener);  
    public void setCancelarItemLocacaoActionListener(ActionListener listener);  
    public void setSalvarLocacaoActionListener(ActionListener listener);  
    public void setSalvarItemLocacaoActionListener(ActionListener listener);  
    public void setBtnSairActionListener(ActionListener listener); 
    public void setComboDescricaoProdutoItemStateChanged(ItemListener itemListener);
    public void setTableItensLocacaoMouseListener(MouseListener listener);
    
    public void setMascaraListener(KeyListener listener);
    public void setDiasLocacaoEnterListener(ActionListener listener);
    
    public void removeAllitensComboNomeCliente();
    public void removeAllitensComboTabelaPreco();
    public void removeAllitensComboDescricaoProduto();
    
}
